|
|
Dear gathered pro's...
I have been trying to create an IK system for positioning the fingers of my
robot hand, preferably without too much help, however the "Joy Of Discovery"
is rapidly loosing out to the "Frustration Of GetNowhere"
This is supposed to be a relatively simple case, but I am getting totally
stuffed somewhere:
I am trying to move the tip of Joint2 (blue) to the target. The circle is
an exagerated tollerance boudary, anywhere within this circle will be
alright (bailout).
I am using a process described by
http://freespace.virgin.net/hugo.elias/models/m_ik.htm which uses the dot
product of the vector from the tip of the joint to the target and the
tangent to the "bone" of the joint to calculate how much to move the arm...
What I have is a situation where the last joint seems to move okay, so it
always "yearns" towards the target, wherever the target is, and if I
manually set the rotation angle for Joint1 (green), the tip still follows
the target - and a little anim seems to show this nicely.
Where I'm getting totally lost is when I'm trying to move two joints at
once, and I can't work out if I'm assuming something incorrectly about the
tangent vector R or
what. AAAaaaarrrgghhh....
This should be simple, as the joint are only articulated in with one degree
of freedom, but I'm stumped. I don't know a huge amount about vector maths,
and I think this may be holding me up :(
thanks,
Mark
(Source is in p.t.s-f)
Tip[] stores the tip coords for each joint
Length[] is the length of the joint
Rotate[] is the angle by which to move the joint
Right[] is supposed to be the bone-tangent (R in instructions)
Force[] is supposed to be the force-vector (F in instructions)
#macro ReorientTip2()
#while (Torque[2]>TorqueBailout)
CalcTipsFK()
#declare Right[2]=vrotate(<0,1,0>, (Rotate[0]+Rotate[1]+Rotate[2])*z);
#declare Force[2]=TargetLocation-Tip[1];
#declare Torque[2]=vdot(Right[2], Force[2])*Delta;
#declare Rotate[2]=Rotate[2]+Torque[2];
#end
Mark Hanford
http://www.mrhanford.com/povray
Post a reply to this message
Attachments:
Download 'ik-frame9.jpg' (10 KB)
Download 'websample1.gif' (2 KB)
Preview of image 'ik-frame9.jpg'
Preview of image 'websample1.gif'
|
|